The software industry has seen some dramatic changes from the early days of computer technology development. Until the early 1980's computer software was written manually and the design process was ad-hoc. In the 1980s, Yordon and Demarco introduced Structured SW Design Methodology. The techniques were a powerful method based on the divide and conquer concept. The structured design methodology paved the way to automatic code generation.
In 1989, Lary LEHMAN, et al of Integrated Systems Incorporated (U.S. Pat. No. 4,796,179) entitled: Multirate real time control system code generator which is an application software for graphical programming. At the same time, under the leadership of Haik BIGLARI a group of SW engineers in the Boeing company began to undertake the task of automating code generation, in a project called, “Application Generator” [4].
Development of any intelligent system is a multi-disciplinary activity. Due to the complexities and natural evolution of these disciplines, the corresponding domain experts have developed their own methods of communication. As a result, there is a communication gap between these disciplines, which gives rise to significant loss of productivity. Although the automatic code generation has increased the productivity of the programmer, still the gap between different disciplines remained wide.
In the early 2000, rapid prototyping with automatic code generation attempted to narrow the gap. In 2001, Kodosky et al, (U.S. Pat. No. 6,173,438) disclose: Embedded Graphical Programming System. In 2006, Mike Santori (U.S. Pat. No. 7,076,740) discloses a patent titled: System and Method for Performing Rapid Control Prototyping Using a Plurality of Graphical Programs that Share a Single Graphical User Interface. In 2007, Borg et al. (U.S. Pat. No. 7,197,743) disclose: Methods for Generating Computer Software for Embedded Systems. In 2009, Kodosky et al, (U.S. Pat. No. 7,558,711) disclose: Generating Hardware Description of a Block Diagram Model Implementation on a Programmable Hardware.